package com.ruoyi.app.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;



/**
 * 群组进退记录视图对象 app_im_group_join_log
 *
 * @author ruoyi
 * @date 2025-11-13
 */
@Data
@ExcelIgnoreUnannotated
public class AppImGroupJoinLogVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long id;

    /**
     * 群组ID
     */
    @ExcelProperty(value = "群组ID")
    private Long groupId;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户昵称")
    private String nickname;

    /**
     * 用户头像URL
     */
    @ExcelProperty(value = "用户头像URL")
    private String avatar;

    /**
     * 操作类型（1=进群，2=退群）
     */
    @ExcelProperty(value = "操作类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1==进群，2=退群")
    private Long actionType;

    /**
     * 邀请人ID（如果是被邀请进群）
     */
    @ExcelProperty(value = "邀请人ID", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "如=果是被邀请进群")
    private Long sourceUserId;

    /**
     * 邀请人昵称
     */
    @ExcelProperty(value = "邀请人昵称")
    private String sourceNickname;

    /**
     * 距离多久
     */
    @ExcelProperty(value = "距离多久")
    private String beforeTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 创建时间
     */
    private Date createTime;



}
